package com.drakulo.hi.logic.inventory;

import com.drakulo.hi.gfx.Item;

/**
 * Représente un inventaire
 */
public class Inventory {
	public static final int ROWS = 5;
	public static final int COLS = 4;

	private Item[][] items;

	/**
	 * Constructeur
	 */
	public Inventory() {
		this.items = new Item[COLS][ROWS];
	}

	/**
	 * Supprime un objet de l'inventaire
	 * 
	 * @param ci
	 *            - colonne de la case
	 * @param ri
	 *            - ligne de la case
	 */
	public void delete(int ci, int ri) {
		this.items[ci][ri] = null;
	}

	/**
	 * @param ci
	 *            - colonne de la case
	 * @param ri
	 *            - ligne de la case
	 * @return l'objet sur la case
	 */
	public Item get(int ci, int ri) {
		return this.items[ci][ri];
	}

	/**
	 * Renvoie l'objet sur la case et l'enlève de l'inventaire
	 * 
	 * @param ci
	 *            - colonne de la case
	 * @param ri
	 *            - ligne de la case
	 * @return l'objet sur la case
	 */
	public Item pop(int ci, int ri) {
		Item i = get(ci, ri);
		delete(ci, ri);
		return i;
	}

	/**
	 * Ajoute un objet à l'inventaire
	 * 
	 * @param ci
	 *            - colonne de la case
	 * @param ri
	 *            - ligne de la case
	 * @param item
	 *            - l'objet à ajouter
	 */
	public void put(int ci, int ri, Item item) {
		this.items[ci][ri] = item;
	}
}
